A printer or another printing device widely used as an output terminal of the computer receives data from the computer and drives a print head to create dots on a printing medium, such as printing paper, and thereby complete a printed image. The early printer has an internal character generator to expand fonts and receives only text data from the computer to implement printing. With spread of the advanced graphic processing of the computer, the printer additionally has the functionality of receiving and printing image data.
On the premise of diversity of data processed by application programs on the computer, a printer driver for each printer installed in the computer is generally used to generate print data according to the print head-scan and the paper-feed characteristics of the printer and transfer the generated print data to the printer, which then implements printing. The printer driver stores in advance required data for printing, for example, the printing resolution of the printer, the color expression including the number of color inks used in the printer, the nozzle arrangement of the print head (the number of nozzles and the nozzle pitch), and the accuracy of paper feed. Dot data representing dots to be created by the print head are then generated according to these required data. For example, in the case of an inkjet printer that uses lighter density color inks, light cyan (LC) and light magenta (LM), in addition to standard color inks, cyan (C), magenta (M), yellow (Y), and black (K) and is capable of creating three variable-size ink dots, that is, large-size, medium-side, and small-size dots, the printer driver executes rasterization and color correction of image data received from an application program and further performs halftoning to express a printed image with the six-color and three variable-size ink dots. Such print processing techniques have been proposed, for example, in Japanese Patent Laid-Open Gazette No. 2003-51003A.
With the recent advancement of peripheral devices including digital still cameras, personal digital assistants, and cell phones, there has been high demand for directly printing data of these peripheral devices without the computer processing. These peripheral devices generally have an internal CPU of the restricted processing power and an internal memory of the restricted storage capacity and accordingly have difficulties in executing rasterization, color correction, and halftoning. A proposed technique incorporates additional modules of executing rasterization, color correction, and halftoning in the printing device. The printing device receives image data in, for example, JPEG format and internally executes a series of image processing to implement printing. This printing device is also connectable with the computer to receive print data after completion of image processing from the computer and implement printing. The printing device is also capable of directly receiving image data and internally executing a required series of image processing to implement printing. The latter type of printing may be called direct printing functionality.
Addition of new functionalities, such as the direct printing functionality, to improve the conventional printing device, complicates the internal configuration of the printing device and causes difficulties in accurate execution of multiple different printing processes. There are especially difficulties in accurate parallel execution of two or more functionalities, which are not originally competing, among various functionalities of the printing device. Such difficulties undesirably extend the total processing time. Addition of any new functionality to a printing device under design requires consistency with existing modules that cover various required functionalities of the printing device. This results in extremely time-consuming development of a new printing device.